home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / sharew / packer / lzh / lharc040.doc < prev    next >
Encoding:
Text File  |  1990-04-14  |  18.6 KB  |  406 lines

  1.        _________________________________________________________________
  2.       /                                                                /
  3.      /   //      //  //   ////   /////    /////       /////  //////   /
  4.     /   //      //  //  //  //  //  //  //          //        //     /
  5.    /   //      //////  //////  /////   //      //   ////     //     /
  6.   /   //      //  //  //  //  //  //  //              //    //     /
  7.  /   //////  //  //  //  //  //  //   /////      /////     //     /
  8. /                                                                /
  9. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ v0.40
  10.                       © 1989 by DeltaVision Systems
  11.            Written in GfA and Turbo/C by J. Webb & E. van Herk
  12.  
  13. Is it a bird? Is it a plane? No, it's yet ANOTHER archiver. We've had SQ, 
  14. ARC,  PAK,  ZIP,  ZOO,  and now... LZH! We'll, the guys on MS-DOS seem to 
  15. like it, so us ST'ers will just have to adjust, as always...
  16.  
  17. -------------------------------------------------------------------------
  18.                               INTRODUCTION
  19. -------------------------------------------------------------------------
  20.  
  21. LHarc  was  developed  for MS-Dos systems  by  somebody  called  Haruyasu 
  22. Yoshizaki  from Japan.  It compresses typical files to about 60% of  what 
  23. ARC  would  do  (e.g.  if ARC compresses it  100K,  LHarc  will  probably 
  24. compress it to about 60K).  This is just about the best ANY archiver  can 
  25. do. And for transmitting files over a telephone line that makes a hell of 
  26. a difference...
  27.  
  28. An ST version of LHarc is being written me,  Jon Webb, with a lot of help 
  29. from Bart van Herk. This is the second release of LHarc-ST, compiled with 
  30. the brand new GfA 3.0 compiler and Turbo-C/ST.  The new compiler is  full 
  31. of bugs,  but I hope I have worked around most of them.  Still,  anything 
  32. can go wrong,  and neither Bart nor I take any responsibility whatsoever. 
  33. If you turn your 120 Meg harddisk into a C60 cassette tape, it's your own 
  34. silly fault.
  35.  
  36. This  v0.40  version has improved dramatically compared to  the  previous 
  37. one.  Not  only  is  it much faster,  its  implementation  is  also  more 
  38. complete.  Compression is about twice, decompression about three times as 
  39. fast, mainly thanks to some assembler optimizing (done by Bart). LHarc-ST 
  40. is  now a proper archiver,  not just a quick hack to get LZH's  unpacked. 
  41. New options include viewing, deleting, testing, renaming etc.
  42.  
  43. However,  LHarc-ST  is  still not completely compatible with  the  MS-Dos 
  44. version.  We don't guarantee that files created on an ST can be extracted 
  45. on  a  PC,  or  vice versa.  But if you follow  the  guidelines  in  this 
  46. document, you shouldn't have any problems.
  47.  
  48. -------------------------------------------------------------------------
  49.                              STARTING LHARC
  50. -------------------------------------------------------------------------
  51.  
  52. LHarc  can be started from the desktop or from a shell.  If you like  you 
  53. can rename LHARC.PRG to LHARC.TTP,  but it won't look pretty. LHarc knows 
  54. when  it  has  been  started from the  desktop.  It  will  allow  you  to 
  55. input/edit your command line, and will wait  for a keypress when done. If 
  56. you  start  LHarc  without a command line,  it will  display  a  list  of 
  57. commands. LHarc should work fine with a standard ARCshell.
  58.  
  59. You  can get Gem to start LHarc automatically when you double-click on  a 
  60. .LZH file by going through the following steps:
  61.  
  62.      -    Highlight LHARC.PRG,
  63.      -    Select 'Install Application' from the drop-down menu,
  64.      -    Click on 'Gem', type 'LZH' and click on 'Okay',
  65.      -    Select 'Save Desktop' from the drop-down menu.
  66.  
  67. If  you  are  not  running  the new TOS 1.4  you'll  need  to  edit  your 
  68. DESKTOP.INF file with a text editor next.  Any editor will do as long  as 
  69. it can produce ASCII TEXT.  You could use 1st Word with WP mode  switched 
  70. OFF, the editor Tempus, or the capture buffer in Flash. Right down at the 
  71. bottom  of your DESKTOP.INF file you'll see a line which looks  something 
  72. like this:
  73.  
  74.      #P 03 04   LHARC.PRG@ *.LZH@ 
  75.  
  76. This  tells  Gem to start up 'LHARC.PRG' whenever you double-click  on  a 
  77. '*.LZH' file.  But Gem only stores the name of the program,  not the path 
  78. leading  to it!  So it would only be able to find LHarc if it was in  the 
  79. same folder as your .LZH file.  You must insert the path yourself. If you 
  80. have LHarc in the folder C:\COMMS\, the line would look like this:
  81.  
  82.      #P 03 04   C:\COMMS\LHARC.PRG@ *.LZH@ 
  83.  
  84. Watch out you don't change any other characters of your DESKTOP.INF file, 
  85. because  Gem is very choosy about what it finds in there.  Leave the  '@' 
  86. characters in too!
  87.  
  88. Once you've installed LHarc as an application you can double-click on any 
  89. LZH file. Gem will tell LHarc which file you double-clicked on, and LHarc 
  90. will allow you to edit your command line (e.g.  insert -V in front of the 
  91. name).
  92.  
  93. -------------------------------------------------------------------------
  94.                              INPUT AND OUTPUT
  95. -------------------------------------------------------------------------
  96.  
  97. LHarc  can  be  redirected  to a  file  or  another  device,  except  for 
  98. extraction to the screen. Output can be paused by pressing Control-S, and 
  99. resumed  with any key.  Pressing ESC or Control-C will abort the  current 
  100. operation.
  101.  
  102. -------------------------------------------------------------------------
  103.                              LHARC COMMANDS
  104. -------------------------------------------------------------------------
  105.  
  106. To use LHarc you will need to tell it what to do by giving it a  command. 
  107. ARC users will find LHarc commands quite (if not very) familiar.  If  you 
  108. do  not  know  the  purpose of archivers,  please  have  a  look  at  the 
  109. documentation which accompanies ARC from System Enhancement Associates.
  110.  
  111. Optional parameters are in square brackets [..]. LHarc will automatically 
  112. add  .LZH  to an archive name if it can't find it.  If no  drive/path  is 
  113. specified,  the current drive/path is used.  If no filespec is  specified 
  114. with any command but add, delete and rename, *.* is assumed.
  115.  
  116. *    Command....... A
  117.      Description... Add files to an archive
  118.  
  119.      Syntax........ LHARC A [path]archive[.LZH] filespecs...
  120.  
  121.      Examples...... LHARC A \document.lzh c:\docs\*.doc
  122.                     LHARC A d:\games.lzh a:\pm\pacman.*
  123.                     LHARC A c:\download\msgs *.msg
  124.                     LHARC A a:source d:myprog.c c:*.pas c:\gfa\*.GFA
  125.  
  126.      The  'A' command adds files to an archive.  If the archive does  not 
  127.      yet   exist,  it will be created first.  The file specification  may 
  128.      include  wildcards.
  129.  
  130. *    Command....... M
  131.      Description... Moves files to an archive
  132.  
  133.      Syntax........ LHARC M [path]archive[.LZH] filespecs...
  134.  
  135.      Example....... LHARC M thisdir.lzh *.*
  136.  
  137.      The  'M'  command moves files to an archive by adding  them  to  the 
  138.      archive,  and  then  deleting them from disk.  The  files  are  only 
  139.      deleted if the archive operation was succesful.
  140.  
  141. *    Command....... I
  142.      Description... Extract files with Inquire
  143.  
  144.      Syntax........ LHARC I [path]archive[.LZH] filespecs...
  145.  
  146.      Examples...... LHARC I \document.lzh c:\docs\
  147.                     LHARC I d:\games
  148.                     LHARC I c:download *.msg messages\*.txt
  149.  
  150.      The  'I' command causes LHarc to display the filenames of each  file 
  151.      matching  the filespecs (or *.* if no filespec was  passed),  asking 
  152.      you  whether you want to extract this file.  Type [Y]es to  extract, 
  153.      [N]o  to continue with the next file,  [A]ll to extract the rest  of 
  154.      the files or [Q]uit to stop extracting.  If LHarc finds a file which 
  155.      already  exists,  it will ask you whether you are sure you  want  to 
  156.      extract it.  If the CRC doesn't match that of the original, you will 
  157.      be warned.
  158.  
  159. *    Command....... X
  160.      Description... Extract files from an archive
  161.  
  162.      Syntax........ LHARC X [path]archive[.LZH] filespecs
  163.  
  164.      Examples...... LHARC X \document.lzh a:\*.*
  165.                     LHARC X \sources\source d:myprog\calc*.h
  166.                     LHARC X c:games.lzh d:\pac.prg e:breakout.prg
  167.                     LHARC X b:download f:\
  168.  
  169.      The 'X' command works just like the 'I' command,  but it doesn't ask 
  170.      you  whether  you want to extract each file,  it just  extracts  all 
  171.      files matching filespec.  If a file already exists,  LHarc will warn 
  172.      you and ask you whether you're sure you want to extract it.  If  you 
  173.      don't like 'X', you can use 'E' instead (to please some ARC shells).
  174.  
  175. *    Commands...... S and P
  176.      Description... Extract files to screen or printer
  177.  
  178.      Syntax........ LHARC S [path]archive[.LZH] filespecs
  179.                     LHARC P [path]archive[.LZH] filespecs
  180.  
  181.      Examples...... LHARC S \document.lzh *.doc read_me.txt
  182.                     LHARC P \printer.lzh picture.dmp
  183.  
  184.      The  'S' command extracts files from an archive,  just like the  'X' 
  185.      command,  but  puts them on the screen instead of on disk.  The  'P' 
  186.      command sends them to the printer.  Both commands cause the files to 
  187.      be sent via BIOS, so they are not redirectable.
  188.  
  189. *    Command....... T
  190.      Description... Test files in archive
  191.  
  192.      Syntax........ LHARC T [path]archive[.LZH] filespecs...
  193.  
  194.      Examples...... LHARC T ..\badlzh importnt.doc
  195.                     LHARC T xfer.lzh *.*
  196.  
  197.      LHarc  stores lots of info about the original file in  the  archive. 
  198.      One  thing it notes down is the CRC value of that file.  CRC  stands 
  199.      for  Cyclic  Redundancy  Check,  and is a special  way  of  checking 
  200.      whether a file has been damaged or not.  If the CRC of the  original 
  201.      file matches that of the extracted file,  you can be pretty sure the 
  202.      files are identical.  The 'T' command tests files in the archive and 
  203.      reports whether the CRC value in the header matches that  calculated 
  204.      by LHarc.
  205.  
  206. *    Command....... V
  207.      Description... Verbose list of an archive
  208.  
  209.      Syntax........ LHARC V [path]archive[.LZH] filespecs...
  210.  
  211.      Examples...... LHARC V \document
  212.                     LHARC V c:\archives\sources *.C D*.PAS
  213.                     LHARC V a:games.lzh pac*.*
  214.  
  215.      The  'V'  command will show you a list of all files in  the  archive 
  216.      specified,  which match the filespecs (or all files,  if no filespec 
  217.      is given). You'll see the following information...
  218.  
  219.      - Filename:    the name of the original file
  220.      - Actual:      the lenght of the original file when it's unpacked
  221.      - Packed:      the number of bytes the file takes up in the archive
  222.      - Ratio:       how large the packed file is compared to the original
  223.      - Date:        date of last modification
  224.      - Time:        time of last modification
  225.      - Attr:        file attributes of the original:
  226.  
  227.                          w = Write Protected,
  228.                          h = Hidden,
  229.                          s = System,
  230.                          a = Archived.
  231.  
  232.      - CRC:         The Cyclic Redundancy Check of the file. This is used  
  233.                     to check for damages to the archive.
  234.  
  235.      - Methd:       Compression method,  Either -lh0- for an uncompressed 
  236.                     file, or -lh1- for a compressed file.
  237.  
  238. *    Command....... D
  239.      Description... Delete files in an archive
  240.  
  241.      Syntax........ LHARC D [path]archive[.LZH] filespecs...
  242.  
  243.      Examples...... LHARC D msdos pc_ditto.prg
  244.                     LHARC D badlzh delete.*
  245.  
  246.      The  'D' command removes one or more entries from  the  archive.  No 
  247.      defaults are allowed here.
  248.  
  249. *    Command....... R
  250.      Description... Rename a file in an archive
  251.  
  252.      Syntax........ LHARC R [path]archive[.LZH] oldNAME newNAME
  253.  
  254.      Example....... LHARC R upgrade.lzh version1.prg version2.prg
  255.  
  256.      This command changes the name of ONE SINGLE file in an archive.  You 
  257.      CAN'T use wildcards here!
  258.  
  259. -------------------------------------------------------------------------
  260.                                 SWITCHES
  261. -------------------------------------------------------------------------
  262.  
  263. You  can influence the behaviour of LHarc by adding one or more  switches 
  264. after the command character. These switches are valid:
  265.  
  266.      H    Hold  after command,  will tell LHarc to pause for  a  keypress 
  267.           after it has done whatever it was supposed to do.  Because some 
  268.           people might be using LHarc for running a BBS,  a thirty second 
  269.           timeout  has been added,  so LHarc will exit after  30  seconds 
  270.           even  if you don't press a key.  When started from the  desktop 
  271.           LHarc will always ask for a keypress.
  272.  
  273.      B    keep  Backup of archive.  If you don't trust LHarc you can  get 
  274.           it to leave the 'old' copy of the archive on disk.  It won't be 
  275.           deleted, the extention will just be changed to '.BAK'.
  276.  
  277.      N    No  compression,  will  cause LHarc to store the  file  in  the 
  278.           archive without compressing it.  These files are displayed with 
  279.           method  '-lh0-' in the verbose list.  The CRC saved is a  dummy 
  280.           (Hex 1234).
  281.  
  282.      O    Overwrite existing files.  If you add this switch,  LHarc won't 
  283.           ask  you  whether you want to overwrite the file  about  to  be 
  284.           extracted if it already exists. The old file will be deleted.
  285.  
  286. Example:  You want to extract TEST.LZH, and you don't care about existing 
  287. files... The command would be:
  288.  
  289.      LHARC XO TEST.LZH
  290.  
  291. To  get  a verbose list of the contents of TEST.LZH,  and pausing  for  a 
  292. keypress after the list has been displayed, the command would be:
  293.  
  294.      LHARC VH TEST.LZH
  295.  
  296. -------------------------------------------------------------------------
  297.                      ERRORLEVELS AND TEMPORARY FILES
  298. -------------------------------------------------------------------------
  299.  
  300. LHarc passes a value back to the program it was called from.  The desktop 
  301. disregards this value, but other programs might find it useful. The value 
  302. (usually  called  an 'error level') depends on whether  the  command  was 
  303. executed succesfully. The following error levels are used:
  304.  
  305.      0    Okay, no error,
  306.      1    The  given command wasn't recognised,  or the user aborted  the 
  307.           operation,
  308.      2    The specified archive wasn't found,
  309.      3    GemDos reported a read error. Probably a faulty disk,
  310.      4    GemDos reported a write error. Same as above,
  311.      5    A CRC error was found in the archive tested/extracted,
  312.      6    The archive has a bad header in it, probably damaged,
  313.      7    An internal error occured in LHarc.
  314.  
  315. Any  other error levels should be interpreted as  program  errors.  LHarc 
  316. creates a file called 'LHARC.$$$' when updating an archive.  This file is 
  317. later renamed to the actual archive name.  If an error occurs during  the 
  318. operation,  this file is left on disk and can be deleted.  If a file with 
  319. this  name already exists,  and an archive is updated,  the file will  be 
  320. deleted without warning!
  321.  
  322. -------------------------------------------------------------------------
  323.                DIFFERENCES COMPARED TO THE MS-DOS VERSION
  324. -------------------------------------------------------------------------
  325.  
  326. Like  I  said,  LHarc-ST  is not completely compatible  with  the  MS-DOS 
  327. version. Some things to keep in mind:
  328.  
  329.      -    LHarc-ST  has  been tested with archives  created  by  LHarc-PC 
  330.           v1.12 and vice versa,
  331.  
  332.      -    LHarc-ST can handle files with full pathnames,  but will  strip 
  333.           the  path  off when extracting.  LHarc-ST  can't  handle  self-
  334.           extracting archives (.COM/.EXE).
  335.  
  336.      -    For  -lh0- type files (which are normally VERY small),  no  CRC 
  337.           check is done during decompression. All -lh1- files are checked 
  338.           of  course.  If you specify 'N'o compression when adding to  an 
  339.           archive, the CRC is a dummy (hex 1234).
  340.  
  341.      -    When  extracting  a file from an archive,  the  attributes  are 
  342.           disregarded.  I  don't like the thought of  archivers  creating 
  343.           hidden read-only system files. 
  344.  
  345.      -    LHarc has a maximum of 100 files per archive at the moment.
  346.  
  347. -------------------------------------------------------------------------
  348.                                KNOWN BUGS
  349. -------------------------------------------------------------------------
  350.  
  351. Just  one:  Turbo-C  v1.0 (I still don't have 1.1,  no thanks to  CAM  in 
  352. Utrecht who are supposed to get me an update) has a bug in its libraries, 
  353. causing  it to forget to mark its write buffers dirty on rare  occasions. 
  354. Sorry, blame CAM...
  355.  
  356. -------------------------------------------------------------------------
  357.                    BUG REPORTS AND DISTRIBUTION POLICY
  358. -------------------------------------------------------------------------
  359.  
  360. If you find any bugs,  other than the one above, please let us know. We'd 
  361. like to know a number of things:
  362.  
  363.      - The version number of LHarc, PC or ST?
  364.      - The command line used to call LHarc,
  365.      - Information about WHAT was happening when the bug occured,
  366.      - Information about the files you were adding/extracting,
  367.      - Information about the archive you were adding to/extracting from,
  368.      - Was that archive created on a PC or ST? By what version of LHarc?
  369.      - What machine you're running (520 ST, 1040 ST, Mega-2 etc),
  370.      - The version number or default date of your TOS,
  371.      - Where you called LHarc from (desktop, PCommand etc.),
  372.      - How much free memory you had when you started LHarc.
  373.  
  374. Please  fill in as much info as you can,  I need all the help I  can  get 
  375. 8-)...  If possible, tell me how I can reproduce the error. You can reach 
  376. me by normal mail at:
  377.  
  378.      DeltaVision Systems,
  379.      I.B.B.-laan 37,
  380.      3582 VE Utrecht,
  381.      The Netherlands.
  382.  
  383. or leave a message to Jon Webb at...
  384.  
  385.      Computershop Utrecht BBS (FidoNet 2:282/350),
  386.      Telephone : Holland (0)30 - 660 487,
  387.      at 300, 1200 or 2400 bps, 24 hours per day,
  388.      your Sysop is Eddy Emck.
  389.  
  390. LHarc-ST may be used,  copied and made available for download as long  as 
  391. you stick to these rules:
  392.  
  393.      -    You ALWAYS include the documentation,
  394.      -    You  do  NOT modify the program or documentation  in  any  way, 
  395.           exept for translation of the documentation,
  396.      -    You  do  NOT charge a fee other than nominal on-line  time  and 
  397.           copying charges.
  398.  
  399. and  PLEASE show the version number of LHarc with the  file  name.  Thank 
  400. you!
  401.  
  402. -------------------------------------------------------------------------
  403.                                 HAVE FUN!
  404. --------------------------------------------------------------------------
  405.  
  406.